package com.io;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;

public class OOSDemo {
    public static void main(String[] args) throws IOException {
        // 定义一个Person对象的相关属性
        String name = "张三"; // 姓名
        int age = 18;         // 年龄
        String gender = "男"; // 性别
        String[] occupation = {"学生", "老师"}; // 职业（数组形式）

// 使用定义的属性创建一个Person对象
        Person person = new Person(name, age, gender, occupation);

// 创建一个FileOutputStream对象，用于向指定文件（本例为"./Person.obj"）写入数据
        FileOutputStream fos = new FileOutputStream("./Person.obj");

// 将FileOutputStream包装在一个ObjectOutputStream中，用于序列化并写出Java对象
        ObjectOutputStream oos = new ObjectOutputStream(fos);

// 使用ObjectOutputStream的writeObject方法，将Person对象序列化并写入到文件中
        oos.writeObject(person);

// 输出提示信息，表明对象写入操作已完成
        System.out.println("写入成功");

// 关闭ObjectOutputStream，释放系统资源并确保对象数据已成功写入文件
        oos.close();

    }
}
